when unref-ing the handlers, also invalidate them. bug nailed down by Karl
authorTim Janik <timj@gtk.org>
Fri, 19 May 2000 08:22:39 +0000 (08:22 +0000)
committerTim Janik <timj@src.gnome.org>
Fri, 19 May 2000 08:22:39 +0000 (08:22 +0000)
Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
        the handlers, also invalidate them. bug nailed down by Karl Nelson
        <kenelson@ece.ucdavis.edu>.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtksignal.c

index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index aa0ad980d444925ecedd8fb0f08104f78572e407..17f6c7b43d7492745c590d34aeda42fdcea85999 100644 (file)
@@ -1,3 +1,9 @@
+Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
+
+        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
+        the handlers, also invalidate them. bug nailed down by Karl Nelson
+        <kenelson@ece.ucdavis.edu>.
+
 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
index da6cedd6fab112c076cfb990d31368be25759ae4..47902f7175cbdcae6444784effcf7f981f8d48b5 100644 (file)
@@ -1195,12 +1195,20 @@ gtk_signal_handlers_destroy (GtkObject *object)
          
          next = handler->next;
          if (handler->id > 0)
-           gtk_signal_handler_unref (handler, object);
+            {
+             handler->id = 0;
+             handler->blocked += 1;
+             gtk_signal_handler_unref (handler, object);
+           }
          handler = next;
        }
       handler = gtk_object_get_data_by_id (object, gtk_handler_quark);
       if (handler->id > 0)
-       gtk_signal_handler_unref (handler, object);
+        {
+         handler->id = 0;
+         handler->blocked += 1;
+         gtk_signal_handler_unref (handler, object);
+       }
     }
 }